The present invention relates to articulated mechanisms, such as but not limited to walking robots, and more particularly to a dynamic predictor for determining link positions along with displacements of multiple joints achieving those positions, being particularly useful when selected joints have relatively stiff springs such as bushings or other provisions for compliance in their attachment to adjoining links.
Articulated mechanisms such as walking robots or robot arms can be understood as a set of rigid links connected to each other by joints. The joints in these mechanisms may be associated with actuators such as motors to displace the joints directly or to apply forces effecting displacement of the joints, “passive” springs and dampers, along with sensors providing an indication of joint position. Common joints include so-called revolute joints acting like a hinge to provide rotation about an axis line and prismatic joints acting like a slide to provide translation along an axis direction. These types of joints are termed “lower-pairs”. The absolute or global position of each link is determined by the sequence of connecting joints in the form of a kinematic chain where one joint is attached to and thus referenced to the “ground”, which provides a global reference frame.
The effective control of such mechanisms is aided by an ability to mathematically predict the movement of the mechanism in response to commands sent to the various actuators. This prediction may be used to determine the necessary actuator positions to place one link at a particular location, to evaluate multiple control strategies, or to implement a control system employing a predictive model of a dynamic system within a feedback loop, in a feedforward or “open loop” controller, or other applicable control method. That dynamic system may be that of the physical robot or that of an augmented dynamic system formulated to effect known control algorithms.
The problem of determining the location of the link based on actuation of connecting joints (or the reverse), where that location is geometrically constrained by the joint displacements, is a kinematic problem and is discussed in detail in US patent application 2012/0303318 entitled “Kinematic Predictor For Articulated Mechanisms” assigned to the same assignee as the present application and hereby incorporated in its entirety by reference. That application describes a computerized predictor for rapidly determining control parameters for articulated mechanisms on an automatic basis with a high degree of precision.
Generally, the kinematic predictor employs a system of kinematic differential equations modeling the articulated mechanism and whose solutions describe motion of rigid links connected by joints and forming closed kinematic loops. A desired motion of the end link in a robot arm can be represented by a “virtual joint” forming such a closed loop. These equations are solved by direct substitution of the equation variables with multi-term power series expressions. Each closed kinematic loop establishes a linear relationship between power series coefficients of the same order which allows formation of a system of independent, linearly related equations, the latter solvable by well known automatic techniques. Accuracy approaching the limit of precision of the computer may thereby be obtained by extending the number of power series terms treated.
For “dynamical” mechanisms, that is, mechanisms not completely kinematically constrained and where inertial, spring, damping, gravitational, and applied forces play a significant role in their operation, the proper prediction of link location and associated joint displacements requires a model that includes parameters describing moments of inertia associated with links along with spring and damping constants associated with the joints. These additional parameters may be characterized by the differential equations of the model using generally understood techniques.
When the articulated mechanism has “stiff” springs, for example rubber bushings or other sources of compliance with high spring rates, solving the differential equations by term expansions can prove problematic. This is because the magnitude of higher-order expansion terms does not diminish rapidly, requiring treatment of “large” numbers of expansion terms in order to obtain the necessary accuracy, where large can denote a number impractical to compute in the required time or where the required accuracy cannot be achieved owing to limitations of the numerical representation provided by the computer.